import requests
import urllib.request
from zipfile import ZipFile
import json
import io
import zipfile
import geopandas as gpd
from shapely.geometry import shape
import osr
import pandas as pd
import pysal as ps
import numpy as np
import requests
import geoplot
import geoplot.crs as gcrs
import matplotlib.pyplot as plt
%matplotlib inline
States= gpd.read_file("https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip")
from ipyleaflet import (Map, GeoData, basemaps, WidgetControl, GeoJSON,
LayersControl, Icon, Marker,basemap_to_tiles, Choropleth,
MarkerCluster, Heatmap,SearchControl,
FullScreenControl)
from ipywidgets import Text, HTML
from branca.colormap import linear
import geopandas as gpd
import json
States= gpd.read_file("https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip")
m = Map(center=(52.3,8.0), zoom = 3, basemap= basemaps.Esri.WorldTopoMap, close_popup_on_click=False)
geo_data = GeoData(geo_dataframe = States,
style={'color': 'black', 'fillColor': '#3366cc', 'opacity':0.05, 'weight':1.9, 'dashArray':'2', 'fillOpacity':0.6},
hover_style={'fillColor': 'red' , 'fillOpacity': 0.2},
name = 'Countries')
m.add_layer(geo_data)
m.add_control(LayersControl())
m
usa_state = "https://www2.census.gov/geo/tiger/GENZ2020/shp/cb_2020_us_state_500k.zip"
r=requests.get(usa_state)
z = zipfile.ZipFile(io.BytesIO(r.content))
usa_state = gpd.read_file(usa_state)
usa_state.head
<bound method NDFrame.head of STATEFP STATENS AFFGEOID GEOID STUSPS \
0 66 01802705 0400000US66 66 GU
1 48 01779801 0400000US48 48 TX
2 55 01779806 0400000US55 55 WI
3 44 01219835 0400000US44 44 RI
4 36 01779796 0400000US36 36 NY
5 78 01802710 0400000US78 78 VI
6 33 01779794 0400000US33 33 NH
7 27 00662849 0400000US27 27 MN
8 72 01779808 0400000US72 72 PR
9 29 01779791 0400000US29 29 MO
10 37 01027616 0400000US37 37 NC
11 26 01779789 0400000US26 26 MI
12 22 01629543 0400000US22 22 LA
13 31 01779792 0400000US31 31 NE
14 06 01779778 0400000US06 06 CA
15 56 01779807 0400000US56 56 WY
16 45 01779799 0400000US45 45 SC
17 69 01779809 0400000US69 69 MP
18 20 00481813 0400000US20 20 KS
19 10 01779781 0400000US10 10 DE
20 02 01785533 0400000US02 02 AK
21 34 01779795 0400000US34 34 NJ
22 38 01779797 0400000US38 38 ND
23 11 01702382 0400000US11 11 DC
24 08 01779779 0400000US08 08 CO
25 51 01779803 0400000US51 51 VA
26 18 00448508 0400000US18 18 IN
27 32 01779793 0400000US32 32 NV
28 35 00897535 0400000US35 35 NM
29 01 01779775 0400000US01 01 AL
30 47 01325873 0400000US47 47 TN
31 21 01779786 0400000US21 21 KY
32 41 01155107 0400000US41 41 OR
33 28 01779790 0400000US28 28 MS
34 09 01779780 0400000US09 09 CT
35 13 01705317 0400000US13 13 GA
36 49 01455989 0400000US49 49 UT
37 16 01779783 0400000US16 16 ID
38 17 01779784 0400000US17 17 IL
39 19 01779785 0400000US19 19 IA
40 04 01779777 0400000US04 04 AZ
41 60 01802701 0400000US60 60 AS
42 50 01779802 0400000US50 50 VT
43 30 00767982 0400000US30 30 MT
44 46 01785534 0400000US46 46 SD
45 42 01779798 0400000US42 42 PA
46 40 01102857 0400000US40 40 OK
47 24 01714934 0400000US24 24 MD
48 23 01779787 0400000US23 23 ME
49 15 01779782 0400000US15 15 HI
50 39 01085497 0400000US39 39 OH
51 54 01779805 0400000US54 54 WV
52 53 01779804 0400000US53 53 WA
53 05 00068085 0400000US05 05 AR
54 25 00606926 0400000US25 25 MA
55 12 00294478 0400000US12 12 FL
NAME LSAD ALAND \
0 Guam 00 543555847
1 Texas 00 676680588914
2 Wisconsin 00 140292246684
3 Rhode Island 00 2677759219
4 New York 00 122049520861
5 United States Virgin Islands 00 348021914
6 New Hampshire 00 23190113978
7 Minnesota 00 206232157570
8 Puerto Rico 00 8868948653
9 Missouri 00 178052563675
10 North Carolina 00 125933025759
11 Michigan 00 146614604273
12 Louisiana 00 111913975425
13 Nebraska 00 198957373531
14 California 00 403671196038
15 Wyoming 00 251458712277
16 South Carolina 00 77866132568
17 Commonwealth of the Northern Mariana Islands 00 472292528
18 Kansas 00 211753777874
19 Delaware 00 5046731558
20 Alaska 00 1478941109938
21 New Jersey 00 19048737655
22 North Dakota 00 178698456949
23 District of Columbia 00 158316124
24 Colorado 00 268418746964
25 Virginia 00 102258180558
26 Indiana 00 92788998225
27 Nevada 00 284537264244
28 New Mexico 00 314198560935
29 Alabama 00 131175460655
30 Tennessee 00 106791646253
31 Kentucky 00 102282796080
32 Oregon 00 248628426864
33 Mississippi 00 121532487805
34 Connecticut 00 12541688516
35 Georgia 00 149486234922
36 Utah 00 213355058738
37 Idaho 00 214049923496
38 Illinois 00 143778461053
39 Iowa 00 144659688848
40 Arizona 00 294360991275
41 American Samoa 00 197759069
42 Vermont 00 23873081385
43 Montana 00 376973673895
44 South Dakota 00 196345992286
45 Pennsylvania 00 115881934065
46 Oklahoma 00 177664190465
47 Maryland 00 25151895765
48 Maine 00 79888428972
49 Hawaii 00 16634147166
50 Ohio 00 105823700104
51 West Virginia 00 62266296765
52 Washington 00 172117960159
53 Arkansas 00 134660850501
54 Massachusetts 00 20204396898
55 Florida 00 138958484319
AWATER geometry
0 934337453 MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...
1 18979352230 MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...
2 29343721650 MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...
3 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...
4 19256750161 MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...
5 1550236187 MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...
6 1025973001 MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...
7 18949864226 MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...
8 4922329963 MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...
9 2487215790 POLYGON ((-95.77355 40.57820, -95.76853 40.583...
10 13456395178 MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...
11 103872203398 MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...
12 23737664982 MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...
13 1371117957 POLYGON ((-104.05342 41.17054, -104.05321 41.1...
14 20294133830 MULTIPOLYGON (((-118.60442 33.47855, -118.5987...
15 1867503715 POLYGON ((-111.05456 45.00095, -111.04507 45.0...
16 5074311415 MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...
17 4644252458 MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...
18 1345707497 POLYGON ((-102.05174 40.00308, -101.91670 40.0...
19 1399179670 MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...
20 245380162784 MULTIPOLYGON (((-147.48341 60.72943, -147.4781...
21 3533261945 MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...
22 4410633765 POLYGON ((-104.04868 48.86378, -104.04865 48.8...
23 18709762 POLYGON ((-77.11976 38.93434, -77.11253 38.940...
24 1185766400 POLYGON ((-109.06025 38.59933, -109.05954 38.7...
25 8528070310 MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...
26 1541613641 POLYGON ((-88.09776 37.90403, -88.09448 37.905...
27 1839662252 POLYGON ((-120.00574 39.22866, -120.00567 39.2...
28 726482115 POLYGON ((-109.05017 31.48000, -109.04984 31.4...
29 4591915034 MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...
30 2322913374 POLYGON ((-90.31045 35.00270, -90.30926 35.009...
31 2368025703 MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...
32 6170953359 MULTIPOLYGON (((-123.59892 46.25145, -123.5984...
33 3915791676 MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...
34 1816426151 MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...
35 4418749570 MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...
36 6529987297 POLYGON ((-114.05296 37.59278, -114.05247 37.6...
37 2391577745 POLYGON ((-117.24268 44.39655, -117.23484 44.3...
38 6216594318 POLYGON ((-91.51297 40.18106, -91.51107 40.188...
39 1085996889 POLYGON ((-96.63970 42.73707, -96.63589 42.741...
40 858853288 POLYGON ((-114.81629 32.50804, -114.81432 32.5...
41 1307243751 MULTIPOLYGON (((-168.14582 -14.54791, -168.145...
42 1030243281 POLYGON ((-73.43774 44.04501, -73.43199 44.063...
43 3866689601 POLYGON ((-116.04914 48.50205, -116.04913 48.5...
44 3383664203 POLYGON ((-104.05788 44.99761, -104.05078 44.9...
45 3397760687 POLYGON ((-80.51989 40.90666, -80.51963 40.911...
46 3373689316 POLYGON ((-103.00257 36.52659, -103.00219 36.6...
47 6979171386 MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...
48 11744937116 MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...
49 11777652106 MULTIPOLYGON (((-156.06076 19.73055, -156.0566...
50 10274656132 MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...
51 489206049 POLYGON ((-82.64320 38.16909, -82.64300 38.169...
52 12549742084 MULTIPOLYGON (((-122.33164 48.02056, -122.3283...
53 3121867339 POLYGON ((-94.61792 36.49941, -94.61765 36.499...
54 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...
55 45975808217 MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ... >
census_api_key= '75b228a93b0b0592dd6d820dc0077020a546514a'
pop_url_str= 'https://api.census.gov/data/2019/acs/acs5?get=B01003_001E,NAME,GEO_ID&for=state:*&key='+census_api_key
predicates= {}
get_vars= ["NAME","GEO_ID","B01003_001E"]
predicates["get"]= ",". join(get_vars)
predicates["for"]= "state:*"
r2= requests.get(pop_url_str, params= predicates)
print(r2.json()[0])
['B01003_001E', 'NAME', 'GEO_ID', 'state']
col_names= ["total_pop","Name", "GEO_ID", "state"]
df= pd.DataFrame (columns=col_names, data=r2.json()[1:])
#fix data types
df["total_pop"]= df["total_pop"].astype(int)
df.head()
| total_pop | Name | GEO_ID | state | |
|---|---|---|---|---|
| 0 | 4876250 | Alabama | 0400000US01 | 01 |
| 1 | 737068 | Alaska | 0400000US02 | 02 |
| 2 | 7050299 | Arizona | 0400000US04 | 04 |
| 3 | 2999370 | Arkansas | 0400000US05 | 05 |
| 4 | 39283497 | California | 0400000US06 | 06 |
df2= pd.DataFrame (usa_state)
print (df2)
STATEFP STATENS AFFGEOID GEOID STUSPS \
0 66 01802705 0400000US66 66 GU
1 48 01779801 0400000US48 48 TX
2 55 01779806 0400000US55 55 WI
3 44 01219835 0400000US44 44 RI
4 36 01779796 0400000US36 36 NY
5 78 01802710 0400000US78 78 VI
6 33 01779794 0400000US33 33 NH
7 27 00662849 0400000US27 27 MN
8 72 01779808 0400000US72 72 PR
9 29 01779791 0400000US29 29 MO
10 37 01027616 0400000US37 37 NC
11 26 01779789 0400000US26 26 MI
12 22 01629543 0400000US22 22 LA
13 31 01779792 0400000US31 31 NE
14 06 01779778 0400000US06 06 CA
15 56 01779807 0400000US56 56 WY
16 45 01779799 0400000US45 45 SC
17 69 01779809 0400000US69 69 MP
18 20 00481813 0400000US20 20 KS
19 10 01779781 0400000US10 10 DE
20 02 01785533 0400000US02 02 AK
21 34 01779795 0400000US34 34 NJ
22 38 01779797 0400000US38 38 ND
23 11 01702382 0400000US11 11 DC
24 08 01779779 0400000US08 08 CO
25 51 01779803 0400000US51 51 VA
26 18 00448508 0400000US18 18 IN
27 32 01779793 0400000US32 32 NV
28 35 00897535 0400000US35 35 NM
29 01 01779775 0400000US01 01 AL
30 47 01325873 0400000US47 47 TN
31 21 01779786 0400000US21 21 KY
32 41 01155107 0400000US41 41 OR
33 28 01779790 0400000US28 28 MS
34 09 01779780 0400000US09 09 CT
35 13 01705317 0400000US13 13 GA
36 49 01455989 0400000US49 49 UT
37 16 01779783 0400000US16 16 ID
38 17 01779784 0400000US17 17 IL
39 19 01779785 0400000US19 19 IA
40 04 01779777 0400000US04 04 AZ
41 60 01802701 0400000US60 60 AS
42 50 01779802 0400000US50 50 VT
43 30 00767982 0400000US30 30 MT
44 46 01785534 0400000US46 46 SD
45 42 01779798 0400000US42 42 PA
46 40 01102857 0400000US40 40 OK
47 24 01714934 0400000US24 24 MD
48 23 01779787 0400000US23 23 ME
49 15 01779782 0400000US15 15 HI
50 39 01085497 0400000US39 39 OH
51 54 01779805 0400000US54 54 WV
52 53 01779804 0400000US53 53 WA
53 05 00068085 0400000US05 05 AR
54 25 00606926 0400000US25 25 MA
55 12 00294478 0400000US12 12 FL
NAME LSAD ALAND \
0 Guam 00 543555847
1 Texas 00 676680588914
2 Wisconsin 00 140292246684
3 Rhode Island 00 2677759219
4 New York 00 122049520861
5 United States Virgin Islands 00 348021914
6 New Hampshire 00 23190113978
7 Minnesota 00 206232157570
8 Puerto Rico 00 8868948653
9 Missouri 00 178052563675
10 North Carolina 00 125933025759
11 Michigan 00 146614604273
12 Louisiana 00 111913975425
13 Nebraska 00 198957373531
14 California 00 403671196038
15 Wyoming 00 251458712277
16 South Carolina 00 77866132568
17 Commonwealth of the Northern Mariana Islands 00 472292528
18 Kansas 00 211753777874
19 Delaware 00 5046731558
20 Alaska 00 1478941109938
21 New Jersey 00 19048737655
22 North Dakota 00 178698456949
23 District of Columbia 00 158316124
24 Colorado 00 268418746964
25 Virginia 00 102258180558
26 Indiana 00 92788998225
27 Nevada 00 284537264244
28 New Mexico 00 314198560935
29 Alabama 00 131175460655
30 Tennessee 00 106791646253
31 Kentucky 00 102282796080
32 Oregon 00 248628426864
33 Mississippi 00 121532487805
34 Connecticut 00 12541688516
35 Georgia 00 149486234922
36 Utah 00 213355058738
37 Idaho 00 214049923496
38 Illinois 00 143778461053
39 Iowa 00 144659688848
40 Arizona 00 294360991275
41 American Samoa 00 197759069
42 Vermont 00 23873081385
43 Montana 00 376973673895
44 South Dakota 00 196345992286
45 Pennsylvania 00 115881934065
46 Oklahoma 00 177664190465
47 Maryland 00 25151895765
48 Maine 00 79888428972
49 Hawaii 00 16634147166
50 Ohio 00 105823700104
51 West Virginia 00 62266296765
52 Washington 00 172117960159
53 Arkansas 00 134660850501
54 Massachusetts 00 20204396898
55 Florida 00 138958484319
AWATER geometry
0 934337453 MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...
1 18979352230 MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...
2 29343721650 MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...
3 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...
4 19256750161 MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...
5 1550236187 MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...
6 1025973001 MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...
7 18949864226 MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...
8 4922329963 MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...
9 2487215790 POLYGON ((-95.77355 40.57820, -95.76853 40.583...
10 13456395178 MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...
11 103872203398 MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...
12 23737664982 MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...
13 1371117957 POLYGON ((-104.05342 41.17054, -104.05321 41.1...
14 20294133830 MULTIPOLYGON (((-118.60442 33.47855, -118.5987...
15 1867503715 POLYGON ((-111.05456 45.00095, -111.04507 45.0...
16 5074311415 MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...
17 4644252458 MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...
18 1345707497 POLYGON ((-102.05174 40.00308, -101.91670 40.0...
19 1399179670 MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...
20 245380162784 MULTIPOLYGON (((-147.48341 60.72943, -147.4781...
21 3533261945 MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...
22 4410633765 POLYGON ((-104.04868 48.86378, -104.04865 48.8...
23 18709762 POLYGON ((-77.11976 38.93434, -77.11253 38.940...
24 1185766400 POLYGON ((-109.06025 38.59933, -109.05954 38.7...
25 8528070310 MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...
26 1541613641 POLYGON ((-88.09776 37.90403, -88.09448 37.905...
27 1839662252 POLYGON ((-120.00574 39.22866, -120.00567 39.2...
28 726482115 POLYGON ((-109.05017 31.48000, -109.04984 31.4...
29 4591915034 MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...
30 2322913374 POLYGON ((-90.31045 35.00270, -90.30926 35.009...
31 2368025703 MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...
32 6170953359 MULTIPOLYGON (((-123.59892 46.25145, -123.5984...
33 3915791676 MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...
34 1816426151 MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...
35 4418749570 MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...
36 6529987297 POLYGON ((-114.05296 37.59278, -114.05247 37.6...
37 2391577745 POLYGON ((-117.24268 44.39655, -117.23484 44.3...
38 6216594318 POLYGON ((-91.51297 40.18106, -91.51107 40.188...
39 1085996889 POLYGON ((-96.63970 42.73707, -96.63589 42.741...
40 858853288 POLYGON ((-114.81629 32.50804, -114.81432 32.5...
41 1307243751 MULTIPOLYGON (((-168.14582 -14.54791, -168.145...
42 1030243281 POLYGON ((-73.43774 44.04501, -73.43199 44.063...
43 3866689601 POLYGON ((-116.04914 48.50205, -116.04913 48.5...
44 3383664203 POLYGON ((-104.05788 44.99761, -104.05078 44.9...
45 3397760687 POLYGON ((-80.51989 40.90666, -80.51963 40.911...
46 3373689316 POLYGON ((-103.00257 36.52659, -103.00219 36.6...
47 6979171386 MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...
48 11744937116 MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...
49 11777652106 MULTIPOLYGON (((-156.06076 19.73055, -156.0566...
50 10274656132 MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...
51 489206049 POLYGON ((-82.64320 38.16909, -82.64300 38.169...
52 12549742084 MULTIPOLYGON (((-122.33164 48.02056, -122.3283...
53 3121867339 POLYGON ((-94.61792 36.49941, -94.61765 36.499...
54 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...
55 45975808217 MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ...
df_map= df2.set_index('AFFGEOID').join(df.set_index('GEO_ID'))
print (df_map)
STATEFP STATENS GEOID STUSPS \
AFFGEOID
0400000US66 66 01802705 66 GU
0400000US48 48 01779801 48 TX
0400000US55 55 01779806 55 WI
0400000US44 44 01219835 44 RI
0400000US36 36 01779796 36 NY
0400000US78 78 01802710 78 VI
0400000US33 33 01779794 33 NH
0400000US27 27 00662849 27 MN
0400000US72 72 01779808 72 PR
0400000US29 29 01779791 29 MO
0400000US37 37 01027616 37 NC
0400000US26 26 01779789 26 MI
0400000US22 22 01629543 22 LA
0400000US31 31 01779792 31 NE
0400000US06 06 01779778 06 CA
0400000US56 56 01779807 56 WY
0400000US45 45 01779799 45 SC
0400000US69 69 01779809 69 MP
0400000US20 20 00481813 20 KS
0400000US10 10 01779781 10 DE
0400000US02 02 01785533 02 AK
0400000US34 34 01779795 34 NJ
0400000US38 38 01779797 38 ND
0400000US11 11 01702382 11 DC
0400000US08 08 01779779 08 CO
0400000US51 51 01779803 51 VA
0400000US18 18 00448508 18 IN
0400000US32 32 01779793 32 NV
0400000US35 35 00897535 35 NM
0400000US01 01 01779775 01 AL
0400000US47 47 01325873 47 TN
0400000US21 21 01779786 21 KY
0400000US41 41 01155107 41 OR
0400000US28 28 01779790 28 MS
0400000US09 09 01779780 09 CT
0400000US13 13 01705317 13 GA
0400000US49 49 01455989 49 UT
0400000US16 16 01779783 16 ID
0400000US17 17 01779784 17 IL
0400000US19 19 01779785 19 IA
0400000US04 04 01779777 04 AZ
0400000US60 60 01802701 60 AS
0400000US50 50 01779802 50 VT
0400000US30 30 00767982 30 MT
0400000US46 46 01785534 46 SD
0400000US42 42 01779798 42 PA
0400000US40 40 01102857 40 OK
0400000US24 24 01714934 24 MD
0400000US23 23 01779787 23 ME
0400000US15 15 01779782 15 HI
0400000US39 39 01085497 39 OH
0400000US54 54 01779805 54 WV
0400000US53 53 01779804 53 WA
0400000US05 05 00068085 05 AR
0400000US25 25 00606926 25 MA
0400000US12 12 00294478 12 FL
NAME LSAD ALAND \
AFFGEOID
0400000US66 Guam 00 543555847
0400000US48 Texas 00 676680588914
0400000US55 Wisconsin 00 140292246684
0400000US44 Rhode Island 00 2677759219
0400000US36 New York 00 122049520861
0400000US78 United States Virgin Islands 00 348021914
0400000US33 New Hampshire 00 23190113978
0400000US27 Minnesota 00 206232157570
0400000US72 Puerto Rico 00 8868948653
0400000US29 Missouri 00 178052563675
0400000US37 North Carolina 00 125933025759
0400000US26 Michigan 00 146614604273
0400000US22 Louisiana 00 111913975425
0400000US31 Nebraska 00 198957373531
0400000US06 California 00 403671196038
0400000US56 Wyoming 00 251458712277
0400000US45 South Carolina 00 77866132568
0400000US69 Commonwealth of the Northern Mariana Islands 00 472292528
0400000US20 Kansas 00 211753777874
0400000US10 Delaware 00 5046731558
0400000US02 Alaska 00 1478941109938
0400000US34 New Jersey 00 19048737655
0400000US38 North Dakota 00 178698456949
0400000US11 District of Columbia 00 158316124
0400000US08 Colorado 00 268418746964
0400000US51 Virginia 00 102258180558
0400000US18 Indiana 00 92788998225
0400000US32 Nevada 00 284537264244
0400000US35 New Mexico 00 314198560935
0400000US01 Alabama 00 131175460655
0400000US47 Tennessee 00 106791646253
0400000US21 Kentucky 00 102282796080
0400000US41 Oregon 00 248628426864
0400000US28 Mississippi 00 121532487805
0400000US09 Connecticut 00 12541688516
0400000US13 Georgia 00 149486234922
0400000US49 Utah 00 213355058738
0400000US16 Idaho 00 214049923496
0400000US17 Illinois 00 143778461053
0400000US19 Iowa 00 144659688848
0400000US04 Arizona 00 294360991275
0400000US60 American Samoa 00 197759069
0400000US50 Vermont 00 23873081385
0400000US30 Montana 00 376973673895
0400000US46 South Dakota 00 196345992286
0400000US42 Pennsylvania 00 115881934065
0400000US40 Oklahoma 00 177664190465
0400000US24 Maryland 00 25151895765
0400000US23 Maine 00 79888428972
0400000US15 Hawaii 00 16634147166
0400000US39 Ohio 00 105823700104
0400000US54 West Virginia 00 62266296765
0400000US53 Washington 00 172117960159
0400000US05 Arkansas 00 134660850501
0400000US25 Massachusetts 00 20204396898
0400000US12 Florida 00 138958484319
AWATER geometry \
AFFGEOID
0400000US66 934337453 MULTIPOLYGON (((144.64538 13.23627, 144.64716 ...
0400000US48 18979352230 MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ...
0400000US55 29343721650 MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ...
0400000US44 1323691129 MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ...
0400000US36 19256750161 MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ...
0400000US78 1550236187 MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ...
0400000US33 1025973001 MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ...
0400000US27 18949864226 MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ...
0400000US72 4922329963 MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ...
0400000US29 2487215790 POLYGON ((-95.77355 40.57820, -95.76853 40.583...
0400000US37 13456395178 MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ...
0400000US26 103872203398 MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ...
0400000US22 23737664982 MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ...
0400000US31 1371117957 POLYGON ((-104.05342 41.17054, -104.05321 41.1...
0400000US06 20294133830 MULTIPOLYGON (((-118.60442 33.47855, -118.5987...
0400000US56 1867503715 POLYGON ((-111.05456 45.00095, -111.04507 45.0...
0400000US45 5074311415 MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ...
0400000US69 4644252458 MULTIPOLYGON (((146.05103 16.00674, 146.05167 ...
0400000US20 1345707497 POLYGON ((-102.05174 40.00308, -101.91670 40.0...
0400000US10 1399179670 MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ...
0400000US02 245380162784 MULTIPOLYGON (((-147.48341 60.72943, -147.4781...
0400000US34 3533261945 MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ...
0400000US38 4410633765 POLYGON ((-104.04868 48.86378, -104.04865 48.8...
0400000US11 18709762 POLYGON ((-77.11976 38.93434, -77.11253 38.940...
0400000US08 1185766400 POLYGON ((-109.06025 38.59933, -109.05954 38.7...
0400000US51 8528070310 MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ...
0400000US18 1541613641 POLYGON ((-88.09776 37.90403, -88.09448 37.905...
0400000US32 1839662252 POLYGON ((-120.00574 39.22866, -120.00567 39.2...
0400000US35 726482115 POLYGON ((-109.05017 31.48000, -109.04984 31.4...
0400000US01 4591915034 MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ...
0400000US47 2322913374 POLYGON ((-90.31045 35.00270, -90.30926 35.009...
0400000US21 2368025703 MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ...
0400000US41 6170953359 MULTIPOLYGON (((-123.59892 46.25145, -123.5984...
0400000US28 3915791676 MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ...
0400000US09 1816426151 MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ...
0400000US13 4418749570 MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ...
0400000US49 6529987297 POLYGON ((-114.05296 37.59278, -114.05247 37.6...
0400000US16 2391577745 POLYGON ((-117.24268 44.39655, -117.23484 44.3...
0400000US17 6216594318 POLYGON ((-91.51297 40.18106, -91.51107 40.188...
0400000US19 1085996889 POLYGON ((-96.63970 42.73707, -96.63589 42.741...
0400000US04 858853288 POLYGON ((-114.81629 32.50804, -114.81432 32.5...
0400000US60 1307243751 MULTIPOLYGON (((-168.14582 -14.54791, -168.145...
0400000US50 1030243281 POLYGON ((-73.43774 44.04501, -73.43199 44.063...
0400000US30 3866689601 POLYGON ((-116.04914 48.50205, -116.04913 48.5...
0400000US46 3383664203 POLYGON ((-104.05788 44.99761, -104.05078 44.9...
0400000US42 3397760687 POLYGON ((-80.51989 40.90666, -80.51963 40.911...
0400000US40 3373689316 POLYGON ((-103.00257 36.52659, -103.00219 36.6...
0400000US24 6979171386 MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ...
0400000US23 11744937116 MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ...
0400000US15 11777652106 MULTIPOLYGON (((-156.06076 19.73055, -156.0566...
0400000US39 10274656132 MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ...
0400000US54 489206049 POLYGON ((-82.64320 38.16909, -82.64300 38.169...
0400000US53 12549742084 MULTIPOLYGON (((-122.33164 48.02056, -122.3283...
0400000US05 3121867339 POLYGON ((-94.61792 36.49941, -94.61765 36.499...
0400000US25 7130653806 MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ...
0400000US12 45975808217 MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ...
total_pop Name state
AFFGEOID
0400000US66 NaN NaN NaN
0400000US48 28260856.0 Texas 48
0400000US55 5790716.0 Wisconsin 55
0400000US44 1057231.0 Rhode Island 44
0400000US36 19572319.0 New York 36
0400000US78 NaN NaN NaN
0400000US33 1348124.0 New Hampshire 33
0400000US27 5563378.0 Minnesota 27
0400000US72 3318447.0 Puerto Rico 72
0400000US29 6104910.0 Missouri 29
0400000US37 10264876.0 North Carolina 37
0400000US26 9965265.0 Michigan 26
0400000US22 4664362.0 Louisiana 22
0400000US31 1914571.0 Nebraska 31
0400000US06 39283497.0 California 06
0400000US56 581024.0 Wyoming 56
0400000US45 5020806.0 South Carolina 45
0400000US69 NaN NaN NaN
0400000US20 2910652.0 Kansas 20
0400000US10 957248.0 Delaware 10
0400000US02 737068.0 Alaska 02
0400000US34 8878503.0 New Jersey 34
0400000US38 756717.0 North Dakota 38
0400000US11 692683.0 District of Columbia 11
0400000US08 5610349.0 Colorado 08
0400000US51 8454463.0 Virginia 51
0400000US18 6665703.0 Indiana 18
0400000US32 2972382.0 Nevada 32
0400000US35 2092454.0 New Mexico 35
0400000US01 4876250.0 Alabama 01
0400000US47 6709356.0 Tennessee 47
0400000US21 4449052.0 Kentucky 21
0400000US41 4129803.0 Oregon 41
0400000US28 2984418.0 Mississippi 28
0400000US09 3575074.0 Connecticut 09
0400000US13 10403847.0 Georgia 13
0400000US49 3096848.0 Utah 49
0400000US16 1717750.0 Idaho 16
0400000US17 12770631.0 Illinois 17
0400000US19 3139508.0 Iowa 19
0400000US04 7050299.0 Arizona 04
0400000US60 NaN NaN NaN
0400000US50 624313.0 Vermont 50
0400000US30 1050649.0 Montana 30
0400000US46 870638.0 South Dakota 46
0400000US42 12791530.0 Pennsylvania 42
0400000US40 3932870.0 Oklahoma 40
0400000US24 6018848.0 Maryland 24
0400000US23 1335492.0 Maine 23
0400000US15 1422094.0 Hawaii 15
0400000US39 11655397.0 Ohio 39
0400000US54 1817305.0 West Virginia 54
0400000US53 7404107.0 Washington 53
0400000US05 2999370.0 Arkansas 05
0400000US25 6850553.0 Massachusetts 25
0400000US12 20901636.0 Florida 12
sq_meter_per_square_mile = 2589988.1103
df_map['population_density']= df_map['total_pop'] / (df_map['ALAND'] / sq_meter_per_square_mile)
# don't display left 5 columns
# iloc slice by index integer position. all rows, column >= 5
# https://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation-how-are-they-different#31593712
df_map.iloc[:, 5:].sort_values(by=['population_density'], ascending=False).head()
| LSAD | ALAND | AWATER | geometry | total_pop | Name | state | population_density | |
|---|---|---|---|---|---|---|---|---|
| AFFGEOID | ||||||||
| 0400000US11 | 00 | 158316124 | 18709762 | POLYGON ((-77.11976 38.93434, -77.11253 38.940... | 692683.0 | District of Columbia | 11 | 11332.015267 |
| 0400000US34 | 00 | 19048737655 | 3533261945 | MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ... | 8878503.0 | New Jersey | 34 | 1207.178010 |
| 0400000US44 | 00 | 2677759219 | 1323691129 | MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... | 1057231.0 | Rhode Island | 44 | 1022.577273 |
| 0400000US72 | 00 | 8868948653 | 4922329963 | MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ... | 3318447.0 | Puerto Rico | 72 | 969.081975 |
| 0400000US25 | 00 | 20204396898 | 7130653806 | MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... | 6850553.0 | Massachusetts | 25 | 878.167802 |
df_map.iloc[:, 5:].sort_values(by=['population_density'], ascending=False).tail()
| LSAD | ALAND | AWATER | geometry | total_pop | Name | state | population_density | |
|---|---|---|---|---|---|---|---|---|
| AFFGEOID | ||||||||
| 0400000US02 | 00 | 1478941109938 | 245380162784 | MULTIPOLYGON (((-147.48341 60.72943, -147.4781... | 737068.0 | Alaska | 02 | 1.290787 |
| 0400000US66 | 00 | 543555847 | 934337453 | MULTIPOLYGON (((144.64538 13.23627, 144.64716 ... | NaN | NaN | NaN | NaN |
| 0400000US78 | 00 | 348021914 | 1550236187 | MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ... | NaN | NaN | NaN | NaN |
| 0400000US69 | 00 | 472292528 | 4644252458 | MULTIPOLYGON (((146.05103 16.00674, 146.05167 ... | NaN | NaN | NaN | NaN |
| 0400000US60 | 00 | 197759069 | 1307243751 | MULTIPOLYGON (((-168.14582 -14.54791, -168.145... | NaN | NaN | NaN | NaN |
#delete outliers
df_map_US= df_map.set_index("NAME")
df_map_US.sort_values(by= "STUSPS", ascending=True)
| STATEFP | STATENS | GEOID | STUSPS | LSAD | ALAND | AWATER | geometry | total_pop | Name | state | population_density | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NAME | ||||||||||||
| Alaska | 02 | 01785533 | 02 | AK | 00 | 1478941109938 | 245380162784 | MULTIPOLYGON (((-147.48341 60.72943, -147.4781... | 737068.0 | Alaska | 02 | 1.290787 |
| Alabama | 01 | 01779775 | 01 | AL | 00 | 131175460655 | 4591915034 | MULTIPOLYGON (((-88.05338 30.50699, -88.05109 ... | 4876250.0 | Alabama | 01 | 96.278904 |
| Arkansas | 05 | 00068085 | 05 | AR | 00 | 134660850501 | 3121867339 | POLYGON ((-94.61792 36.49941, -94.61765 36.499... | 2999370.0 | Arkansas | 05 | 57.688130 |
| American Samoa | 60 | 01802701 | 60 | AS | 00 | 197759069 | 1307243751 | MULTIPOLYGON (((-168.14582 -14.54791, -168.145... | NaN | NaN | NaN | NaN |
| Arizona | 04 | 01779777 | 04 | AZ | 00 | 294360991275 | 858853288 | POLYGON ((-114.81629 32.50804, -114.81432 32.5... | 7050299.0 | Arizona | 04 | 62.033323 |
| California | 06 | 01779778 | 06 | CA | 00 | 403671196038 | 20294133830 | MULTIPOLYGON (((-118.60442 33.47855, -118.5987... | 39283497.0 | California | 06 | 252.046198 |
| Colorado | 08 | 01779779 | 08 | CO | 00 | 268418746964 | 1185766400 | POLYGON ((-109.06025 38.59933, -109.05954 38.7... | 5610349.0 | Colorado | 08 | 54.134584 |
| Connecticut | 09 | 01779780 | 09 | CT | 00 | 12541688516 | 1816426151 | MULTIPOLYGON (((-72.22593 41.29384, -72.22523 ... | 3575074.0 | Connecticut | 09 | 738.289676 |
| District of Columbia | 11 | 01702382 | 11 | DC | 00 | 158316124 | 18709762 | POLYGON ((-77.11976 38.93434, -77.11253 38.940... | 692683.0 | District of Columbia | 11 | 11332.015267 |
| Delaware | 10 | 01779781 | 10 | DE | 00 | 5046731558 | 1399179670 | MULTIPOLYGON (((-75.56555 39.51485, -75.56174 ... | 957248.0 | Delaware | 10 | 491.260712 |
| Florida | 12 | 00294478 | 12 | FL | 00 | 138958484319 | 45975808217 | MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ... | 20901636.0 | Florida | 12 | 389.576707 |
| Georgia | 13 | 01705317 | 13 | GA | 00 | 149486234922 | 4418749570 | MULTIPOLYGON (((-81.27939 31.30792, -81.27716 ... | 10403847.0 | Georgia | 13 | 180.256330 |
| Guam | 66 | 01802705 | 66 | GU | 00 | 543555847 | 934337453 | MULTIPOLYGON (((144.64538 13.23627, 144.64716 ... | NaN | NaN | NaN | NaN |
| Hawaii | 15 | 01779782 | 15 | HI | 00 | 16634147166 | 11777652106 | MULTIPOLYGON (((-156.06076 19.73055, -156.0566... | 1422094.0 | Hawaii | 15 | 221.424430 |
| Iowa | 19 | 01779785 | 19 | IA | 00 | 144659688848 | 1085996889 | POLYGON ((-96.63970 42.73707, -96.63589 42.741... | 3139508.0 | Iowa | 19 | 56.209774 |
| Idaho | 16 | 01779783 | 16 | ID | 00 | 214049923496 | 2391577745 | POLYGON ((-117.24268 44.39655, -117.23484 44.3... | 1717750.0 | Idaho | 16 | 20.784647 |
| Illinois | 17 | 01779784 | 17 | IL | 00 | 143778461053 | 6216594318 | POLYGON ((-91.51297 40.18106, -91.51107 40.188... | 12770631.0 | Illinois | 17 | 230.046853 |
| Indiana | 18 | 00448508 | 18 | IN | 00 | 92788998225 | 1541613641 | POLYGON ((-88.09776 37.90403, -88.09448 37.905... | 6665703.0 | Indiana | 18 | 186.057527 |
| Kansas | 20 | 00481813 | 20 | KS | 00 | 211753777874 | 1345707497 | POLYGON ((-102.05174 40.00308, -101.91670 40.0... | 2910652.0 | Kansas | 20 | 35.600565 |
| Kentucky | 21 | 01779786 | 21 | KY | 00 | 102282796080 | 2368025703 | MULTIPOLYGON (((-89.40565 36.52817, -89.39869 ... | 4449052.0 | Kentucky | 21 | 112.658162 |
| Louisiana | 22 | 01629543 | 22 | LA | 00 | 111913975425 | 23737664982 | MULTIPOLYGON (((-88.86770 29.86155, -88.86566 ... | 4664362.0 | Louisiana | 22 | 107.945787 |
| Massachusetts | 25 | 00606926 | 25 | MA | 00 | 20204396898 | 7130653806 | MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... | 6850553.0 | Massachusetts | 25 | 878.167802 |
| Maryland | 24 | 01714934 | 24 | MD | 00 | 25151895765 | 6979171386 | MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ... | 6018848.0 | Maryland | 24 | 619.784087 |
| Maine | 23 | 01779787 | 23 | ME | 00 | 79888428972 | 11744937116 | MULTIPOLYGON (((-67.32260 44.61160, -67.32174 ... | 1335492.0 | Maine | 23 | 43.296738 |
| Michigan | 26 | 01779789 | 26 | MI | 00 | 146614604273 | 103872203398 | MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ... | 9965265.0 | Michigan | 26 | 176.039202 |
| Minnesota | 27 | 00662849 | 27 | MN | 00 | 206232157570 | 18949864226 | MULTIPOLYGON (((-89.59206 47.96668, -89.59147 ... | 5563378.0 | Minnesota | 27 | 69.868264 |
| Missouri | 29 | 01779791 | 29 | MO | 00 | 178052563675 | 2487215790 | POLYGON ((-95.77355 40.57820, -95.76853 40.583... | 6104910.0 | Missouri | 29 | 88.803239 |
| Commonwealth of the Northern Mariana Islands | 69 | 01779809 | 69 | MP | 00 | 472292528 | 4644252458 | MULTIPOLYGON (((146.05103 16.00674, 146.05167 ... | NaN | NaN | NaN | NaN |
| Mississippi | 28 | 01779790 | 28 | MS | 00 | 121532487805 | 3915791676 | MULTIPOLYGON (((-88.50297 30.21523, -88.49176 ... | 2984418.0 | Mississippi | 28 | 63.601159 |
| Montana | 30 | 00767982 | 30 | MT | 00 | 376973673895 | 3866689601 | POLYGON ((-116.04914 48.50205, -116.04913 48.5... | 1050649.0 | Montana | 30 | 7.218457 |
| North Carolina | 37 | 01027616 | 37 | NC | 00 | 125933025759 | 13456395178 | MULTIPOLYGON (((-75.72681 35.93584, -75.71827 ... | 10264876.0 | North Carolina | 37 | 211.111475 |
| North Dakota | 38 | 01779797 | 38 | ND | 00 | 178698456949 | 4410633765 | POLYGON ((-104.04868 48.86378, -104.04865 48.8... | 756717.0 | North Dakota | 38 | 10.967571 |
| Nebraska | 31 | 01779792 | 31 | NE | 00 | 198957373531 | 1371117957 | POLYGON ((-104.05342 41.17054, -104.05321 41.1... | 1914571.0 | Nebraska | 31 | 24.923510 |
| New Hampshire | 33 | 01779794 | 33 | NH | 00 | 23190113978 | 1025973001 | MULTIPOLYGON (((-70.61702 42.97718, -70.61529 ... | 1348124.0 | New Hampshire | 33 | 150.565242 |
| New Jersey | 34 | 01779795 | 34 | NJ | 00 | 19048737655 | 3533261945 | MULTIPOLYGON (((-74.04220 40.69997, -74.03900 ... | 8878503.0 | New Jersey | 34 | 1207.178010 |
| New Mexico | 35 | 00897535 | 35 | NM | 00 | 314198560935 | 726482115 | POLYGON ((-109.05017 31.48000, -109.04984 31.4... | 2092454.0 | New Mexico | 35 | 17.248427 |
| Nevada | 32 | 01779793 | 32 | NV | 00 | 284537264244 | 1839662252 | POLYGON ((-120.00574 39.22866, -120.00567 39.2... | 2972382.0 | Nevada | 32 | 27.055978 |
| New York | 36 | 01779796 | 36 | NY | 00 | 122049520861 | 19256750161 | MULTIPOLYGON (((-72.03683 41.24984, -72.03496 ... | 19572319.0 | New York | 36 | 415.340209 |
| Ohio | 39 | 01085497 | 39 | OH | 00 | 105823700104 | 10274656132 | MULTIPOLYGON (((-82.73447 41.60351, -82.72425 ... | 11655397.0 | Ohio | 39 | 285.260671 |
| Oklahoma | 40 | 01102857 | 40 | OK | 00 | 177664190465 | 3373689316 | POLYGON ((-103.00257 36.52659, -103.00219 36.6... | 3932870.0 | Oklahoma | 40 | 57.333369 |
| Oregon | 41 | 01155107 | 41 | OR | 00 | 248628426864 | 6170953359 | MULTIPOLYGON (((-123.59892 46.25145, -123.5984... | 4129803.0 | Oregon | 41 | 43.020586 |
| Pennsylvania | 42 | 01779798 | 42 | PA | 00 | 115881934065 | 3397760687 | POLYGON ((-80.51989 40.90666, -80.51963 40.911... | 12791530.0 | Pennsylvania | 42 | 285.893663 |
| Puerto Rico | 72 | 01779808 | 72 | PR | 00 | 8868948653 | 4922329963 | MULTIPOLYGON (((-65.23805 18.32167, -65.23467 ... | 3318447.0 | Puerto Rico | 72 | 969.081975 |
| Rhode Island | 44 | 01219835 | 44 | RI | 00 | 2677759219 | 1323691129 | MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... | 1057231.0 | Rhode Island | 44 | 1022.577273 |
| South Carolina | 45 | 01779799 | 45 | SC | 00 | 77866132568 | 5074311415 | MULTIPOLYGON (((-79.50795 33.02008, -79.50713 ... | 5020806.0 | South Carolina | 45 | 167.002359 |
| South Dakota | 46 | 01785534 | 46 | SD | 00 | 196345992286 | 3383664203 | POLYGON ((-104.05788 44.99761, -104.05078 44.9... | 870638.0 | South Dakota | 46 | 11.484533 |
| Tennessee | 47 | 01325873 | 47 | TN | 00 | 106791646253 | 2322913374 | POLYGON ((-90.31045 35.00270, -90.30926 35.009... | 6709356.0 | Tennessee | 47 | 162.720146 |
| Texas | 48 | 01779801 | 48 | TX | 00 | 676680588914 | 18979352230 | MULTIPOLYGON (((-94.71830 29.72885, -94.71721 ... | 28260856.0 | Texas | 48 | 108.168141 |
| Utah | 49 | 01455989 | 49 | UT | 00 | 213355058738 | 6529987297 | POLYGON ((-114.05296 37.59278, -114.05247 37.6... | 3096848.0 | Utah | 49 | 37.593669 |
| Virginia | 51 | 01779803 | 51 | VA | 00 | 102258180558 | 8528070310 | MULTIPOLYGON (((-75.74241 37.80835, -75.74151 ... | 8454463.0 | Virginia | 51 | 214.134053 |
| United States Virgin Islands | 78 | 01802710 | 78 | VI | 00 | 348021914 | 1550236187 | MULTIPOLYGON (((-64.62799 17.78933, -64.62717 ... | NaN | NaN | NaN | NaN |
| Vermont | 50 | 01779802 | 50 | VT | 00 | 23873081385 | 1030243281 | POLYGON ((-73.43774 44.04501, -73.43199 44.063... | 624313.0 | Vermont | 50 | 67.731652 |
| Washington | 53 | 01779804 | 53 | WA | 00 | 172117960159 | 12549742084 | MULTIPOLYGON (((-122.33164 48.02056, -122.3283... | 7404107.0 | Washington | 53 | 111.415154 |
| Wisconsin | 55 | 01779806 | 55 | WI | 00 | 140292246684 | 29343721650 | MULTIPOLYGON (((-86.95617 45.35549, -86.95463 ... | 5790716.0 | Wisconsin | 55 | 106.904593 |
| West Virginia | 54 | 01779805 | 54 | WV | 00 | 62266296765 | 489206049 | POLYGON ((-82.64320 38.16909, -82.64300 38.169... | 1817305.0 | West Virginia | 54 | 75.591429 |
| Wyoming | 56 | 01779807 | 56 | WY | 00 | 251458712277 | 1867503715 | POLYGON ((-111.05456 45.00095, -111.04507 45.0... | 581024.0 | Wyoming | 56 | 5.984463 |
df_map_US= df_map_US.drop(["Alaska", "American Samoa", "Guam", "Hawaii", "Commonwealth of the Northern Mariana Islands", "Puerto Rico", "United States Virgin Islands" ])
#find state with lowest population density
df_map_US.loc[df_map_US['population_density'].idxmin()]
STATEFP 56 STATENS 01779807 GEOID 56 STUSPS WY LSAD 00 ALAND 251458712277 AWATER 1867503715 geometry POLYGON ((-111.054556 45.000955, -111.04506604... total_pop 581024 Name Wyoming state 56 population_density 5.98446 Name: Wyoming, dtype: object
# select 2 columns, sort.
# doesn't mutate dataframe if don't set inplace True and don't reassign to df_map
df_map_US[['Name','population_density']].sort_values(by= 'population_density', ascending=False).head()
| Name | population_density | |
|---|---|---|
| NAME | ||
| District of Columbia | District of Columbia | 11332.015267 |
| New Jersey | New Jersey | 1207.178010 |
| Rhode Island | Rhode Island | 1022.577273 |
| Massachusetts | Massachusetts | 878.167802 |
| Connecticut | Connecticut | 738.289676 |
#Add column awater_frac
df_map_US['awater_frac'] = df_map_US['AWATER'] / (df_map_US['ALAND'] + df_map_US['AWATER'])
df_map_US.iloc[:, 5:].sort_values(by=['awater_frac'], ascending=False).head()
| ALAND | AWATER | geometry | total_pop | Name | state | population_density | awater_frac | |
|---|---|---|---|---|---|---|---|---|
| NAME | ||||||||
| Michigan | 146614604273 | 103872203398 | MULTIPOLYGON (((-86.74819 46.51560, -86.74617 ... | 9965265.0 | Michigan | 26 | 176.039202 | 0.414681 |
| Rhode Island | 2677759219 | 1323691129 | MULTIPOLYGON (((-71.28802 41.64558, -71.28647 ... | 1057231.0 | Rhode Island | 44 | 1022.577273 | 0.330803 |
| Massachusetts | 20204396898 | 7130653806 | MULTIPOLYGON (((-70.23405 41.28565, -70.22122 ... | 6850553.0 | Massachusetts | 25 | 878.167802 | 0.260861 |
| Florida | 138958484319 | 45975808217 | MULTIPOLYGON (((-80.17628 25.52505, -80.17395 ... | 20901636.0 | Florida | 12 | 389.576707 | 0.248606 |
| Maryland | 25151895765 | 6979171386 | MULTIPOLYGON (((-76.05015 37.98691, -76.04998 ... | 6018848.0 | Maryland | 24 | 619.784087 | 0.217209 |
df_map_US= gpd.GeoDataFrame(df_map_US, geometry='geometry')
pip install branca
Requirement already satisfied: branca in c:\users\edaha\anaconda3\lib\site-packages (0.4.2) Requirement already satisfied: jinja2 in c:\users\edaha\anaconda3\lib\site-packages (from branca) (2.11.1) Requirement already satisfied: MarkupSafe>=0.23 in c:\users\edaha\anaconda3\lib\site-packages (from jinja2->branca) (1.1.1) Note: you may need to restart the kernel to use updated packages.
pip install folium
Requirement already satisfied: folium in c:\users\edaha\anaconda3\lib\site-packages (0.12.1) Requirement already satisfied: branca>=0.3.0 in c:\users\edaha\anaconda3\lib\site-packages (from folium) (0.4.2) Requirement already satisfied: numpy in c:\users\edaha\anaconda3\lib\site-packages (from folium) (1.18.1) Requirement already satisfied: requests in c:\users\edaha\anaconda3\lib\site-packages (from folium) (2.26.0) Requirement already satisfied: jinja2>=2.9 in c:\users\edaha\anaconda3\lib\site-packages (from folium) (2.11.1) Requirement already satisfied: MarkupSafe>=0.23 in c:\users\edaha\anaconda3\lib\site-packages (from jinja2>=2.9->folium) (1.1.1) Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2.0.4) Requirement already satisfied: certifi>=2017.4.17 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2021.5.30) Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (1.26.6) Requirement already satisfied: idna<4,>=2.5 in c:\users\edaha\anaconda3\lib\site-packages (from requests->folium) (2.8) Note: you may need to restart the kernel to use updated packages.
def rd2(x):
return round (x,2)
minimum, maximum= df_map_US["population_density"].quantile([0.05, 0.95]).apply(rd2)
mean = round(df_map_US["population_density"].mean(), 2)
print(f"minimum: {minimum}", f"maximum: {maximum}", f"Mean: {mean}", sep="\n\n")
minimum: 11.17 maximum: 964.81 Mean: 432.18
import branca
colormap = branca.colormap.LinearColormap(
colors=["#f2f0f7", "#cbc9e2", "#9e9ac8", "#756bb1", "#54278f"],
index=df_map_US["population_density"].quantile([0.2, 0.4, 0.6, 0.8]),
vmin=minimum,
vmax=maximum,
)
colormap.caption = "Population Density in the United States"
colormap
import folium
from folium.plugins import Search
from IPython.display import display
m = folium.Map(location=[38, -97], zoom_start=4)
def style_function(x):
return {
"fillColor": colormap(x["properties"]["population_density"]),
"color": "black",
"weight": 2,
"fillOpacity": 0.5,
}
stategeo = folium.GeoJson(
df_map_US,
name="US States",
style_function=style_function,
tooltip=folium.GeoJsonTooltip(
fields=["Name", "population_density"], aliases=["State", "Density"], localize=True
),
).add_to(m)
statesearch = Search(
layer=stategeo,
geom_type="Polygon",
placeholder="Search for a US State",
collapsed=False,
search_label="Name",
weight=3,
).add_to(m)
folium.LayerControl().add_to(m)
colormap.add_to(m)
m